﻿// Copyright: personal possession of Nguyen Minh Kha
// Datetime: 03:20PM 09/27/2011
// Discription: This class is a common interface for 
//  all renderable object in game.
// Licencse: Free source
// Version: 1.0
// Writer: Nguyen Minh Kha

/* Google opensource coding standard with variable name exception */

#ifndef GAMEFRAMEWORK_RENDERABLEOBJECT_H_
#define GAMEFRAMEWORK_RENDERABLEOBJECT_H_

class RenderableObject
{
public:
  // 
  //  Object that inherit this abtract method is rendered
  // 
  virtual void Render() = 0;
  //
  //  Get renderable object layer
  int getLayer() {return this->layer;}
  //
  // Object will be render or not
  bool getRendered() {return this->willRendered;}
  //
  // Set render attribute
  void setRendered(bool renderable) {this->willRendered = renderable;}

protected:
  int layer;
  bool willRendered;
};


#endif // GAMEFRAMEWORK_RENDERABLEOBJECT_H_

